package com.excesys.exsecs.energy.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.excesys.exsecs.energy.entity.DevSubitemMap;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface DevSubitemMapMapper extends BaseMapper<DevSubitemMap> {

    //分项总用电量
    double getSumTotalPower(@Param("date") String date,@Param("subzone") String subzone, @Param("id") String id);

    //分项图表
    List<Map<String, Object>> chartPower(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("id") String id);

    //分项月图表
    List<Map<String, Object>> chartMonthPower(@Param("date") String date, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("id") String id);

    //分项年图表
    List<Map<String, Object>> chartYearPower(@Param("date") String date, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("id") String id);

    //分项 年区间 图表
    List<Map<String, Object>> chartMonthSection(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("id") String id);

    //分项总用电量
    List<Map<String, Object>> powerSubitemLinks(@Param("startTime") String startTime, @Param("endTime") String endTime,  @Param("idsList") List<String> idsList);

    //能耗报表 - 电 - 日
    List<Map<String, Object>> dayReport(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("idList") List<String> idList);
    //能耗报表 - 电 - 日区间
    List<Map<String, Object>> daySectionReport(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("idList") List<String> idList);
    //能耗报表 - 电 - 月
    List<Map<String, Object>> monthReport(@Param("date") String date, @Param("idList") List<String> idList);
    //能耗报表 - 电 - 月区间
    List<Map<String, Object>> monthSectionReport(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("idList") List<String> idList);

    //能耗报表 - 年
    List<Map<String, Object>> yearReport(@Param("date") String date, @Param("idList") List<String> idList);

    List<Map<String, Object>> yearSectionReport(@Param("startTime")String startTime, @Param("endTime")String endTime, @Param("idList")List<String> idList);

    List<Map<String, Object>> subitemSortRank(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("idList") List<String> idList);

    List<Map<String, Object>> subitemRatio(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("idList") List<String> idList);

}